System and methods for control of card elements within an application user interface

ABSTRACT

The present disclosure relates to systems, methods and devices for control of card elements within an application user interface. In one embodiment, a method for control of card elements within an application user interface includes presenting a user interface for an application including graphical elements for one or more card elements and a display area for the device, and detecting a user interface command to move a selected card element presented by the user interface relative to the display area. The method also includes updating presentation of the user interface based on the user interface command and updating the application to include data for the new card element based on the user interface command, the data associates the new card with an entity recognized by the application. Another embodiment is directed to a device configured to control card elements within a user interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No. 62/113,225 titled SYSTEM AND METHODS FOR AN APPLICATION CONFIGURATION AND PRESENTATION filed on Feb. 6, 2015, the content of which is expressly incorporated by reference in its entirety.

This application is related to the concurrently filed applications entitled: SYSTEM AND METHODS FOR APPLICATION USER INTERFACE PRESENTATION AND CARD ELEMENTS filed on ______ and assigned patent application Ser. No. ______; SYSTEM AND METHODS FOR CARD ELEMENT APPLICATION OPERATION filed on ______ and assigned patent application Ser. No. ______; SYSTEM AND METHODS FOR CARD EXCHANGE AND USER INTERFACE PRESENTATION filed on ______ and assigned patent application Ser. No. ______; SYSTEM AND METHODS FOR CARD INTERACTION AND ASSIGNING CARDS TO DEVICES filed on ______ and assigned patent application Ser. No. ______; SYSTEM AND METHODS FOR CARD INTERACTION AND ASSIGNING CARDS TO SPACES filed on ______ and assigned patent application Ser. No. ______; SYSTEMS AND METHODS FOR CONNECT TO CONTROL filed on ______ and assigned patent application Ser. No. ______; SYSTEMS AND METHODS FOR DEVICE TO DEVICE CONTROL filed on ______and assigned patent application Ser. No. ______; SYSTEM AND METHODS FOR SETTINGS CARDS filed on ______ and assigned patent application Ser. No. ______; and SYSTEM AND METHODS FOR PRESENTATION OF A USER INTERFACE AND CARD ELEMENTS filed on ______ and assigned patent application Ser. No. ______, the disclosures of which are expressly incorporated by reference.

FIELD

The present disclosure relates to electronic devices and applications, and more particularly to methods and devices configured for control of card elements within an application user interface.

BACKGROUND

Technologies associated with network devices, and in particular personal devices, are implemented in various forms and accessible from many sources. Services for mobile communication can allow for portability of devices. While conventional systems allow for mobility, there are limitations on devices and device configurations. With respect to local networks, system components are also limited in many ways. Many conventional devices are not interoperable with other devices or network services. Connectivity of devices, or the lack connectivity, in conventional systems can be a major drawback. Many user devices must be configured to interact with one another. In many cases, conventional communication protocols and configurations do not allow for connectivity or exchange.

BRIEF SUMMARY OF THE EMBODIMENTS

Disclosed and claimed herein are systems, methods and devices for user interface control of card elements. One embodiment is directed to a method for control of card elements within an application user interface. The method includes presenting, by a device, a user interface for an application, wherein the user interface is presented including graphical elements for one or more card elements, and wherein the user interface is presented including a display area for the device, and detecting, by the device, a user interface command to move a selected card element presented by the user interface relative to the display area. The method also includes updating, by the device, presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command, and updating, by the device, the application to include data for the new card element based on the user interface command, the data associates the new card with an entity recognized by the application.

In one embodiment, the user interface includes a display area for one or more other devices.

In one embodiment, the user interface command is at least one of a touch, drag, fling and tactile command within the user interface.

In one embodiment, the user interface command is push command to push the selected card from the display area associated with the device to a display area of the user interface associated with a second device.

In one embodiment, the push command associates a new instance of the card with the second device for a period of time.

In one embodiment, the user interface command is pull command to pull the selected card from a display area of the user interface associated with a second device to the display area associated with the device.

In one embodiment, the pull command associates a new instance of the card with the device for a period of time.

In one embodiment, updating presentation of the user interface includes displaying a graphical element of the selected card in a display area corresponding to the control command, wherein the user interface includes a representation of the selected card element in a source and destination associated with the control command.

In one embodiment, updating application data includes registering metadata for the user interface command to move the selected card element, wherein registration of metadata is accessible to other devices by the application.

In one embodiment, the method further includes determining capability matching of the selected card element with a destination associated with the move in the user interface prior to updating presentation of the user interface.

Another embodiment is directed to a device including a display configured to present a user interface and a controller coupled to the display. The controller is configured to present a user interface for an application, wherein the user interface is presented including graphical elements for one or more card elements, and wherein the user interface is presented including a display area for the device, and detect a user interface command to move a selected card element presented by the user interface relative to the display area. The controller is also configured to update presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command, and update the application to include data for the new card element based on the user interface command, the data associates the new card with an entity recognized by the application.

Other aspects, features, and techniques will be apparent to one skilled in the relevant art in view of the following detailed description of the embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, objects, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:

FIG. 1A depicts a graphical representation of a simplified system diagram according to one or more embodiments;

FIG. 1B depicts a graphical representation of system entities according to one or more embodiments;

FIGS. 2A-2B processes for controlling card elements of an application user interface according to one or more embodiments;

FIGS. 3A-3B depict a graphical representations of a user interface according to one or more embodiments;

FIG. 4A depicts a graphical representation of a card pull within a user interface according to one or more embodiments;

FIG. 4B depicts a graphical representation of a card pull within a user interface according to one or more embodiments;

FIG. 5 depicts a graphical representation of card control relative to devices according to one or more embodiments;

FIGS. 6A-6D depict a graphical representations of card control inputs according to one or more embodiments;

FIG. 7 depicts a graphical representation of card control relative to devices according to one or more embodiments;

FIG. 8 depicts a process for updating a card element according to one or more embodiments; and

FIG. 9 depicts a simplified diagram of a device according to one or more embodiments.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS Overview and Terminology

One aspect of the disclosure is to provide systems, methods and devices for control of card elements within an application user interface. In one embodiment, a mobile operating system/experience (MOX) application is provided for card interaction and use of cards. In another embodiment, a device is disclosed configured for execution of the application and presentation of a user interface. In another embodiment, a system is provided for operation with one or more card elements. Other embodiments are directed to presentation of a user interface and processes for control and exchange of cards for use in the MOX application.

One or more embodiments described herein are directed to communication with devices and interoperability of devices by way of an application configured to execute on the one or more devices. The application, which may be a MOX application, may be configured to present a user interface with graphical elements to represent entities (e.g., devices, spaces, etc.) and card elements. The user interface may also be configured to allow for manipulation of the card elements, such that assignment of a card to a device within the user interfaces results in an association of a card element to the device within the application. In that fashion, representations in the user interface can result in associations of data by devices running the application (e.g., MOX application).

As used herein, a card can relate to graphical elements displayed in a user interface, wherein each card element can allow for one or more of exchange, communication, control and/or application accessibility. Card elements may be associated with one or more types of cards and one or more types of capabilities. A card element may have a data structure associated with each card type, the card providing metadata that can allow an application and/or devices to utilize the card. According to one embodiment, each card element can include a graphical element that is represented by a device and/or can include a data record stored by one or more servers or devices that allow for the card to be shared, transmitted, loaned, exchanged, associated, pulled and/or pushed to one or more devices and spaces. Card elements may define capabilities of devices and/or spaces. Card elements may be associated with devices or spaces that are real or virtual. Card elements may be uniquely identified.

As used herein, a MOX application relates to an application having particular core elements that allow for the application to be executed across many different devices and devices types. The application may be platform agnostic and thus, configurable on one or more operating systems or platform types (e.g., linux, etc.). The MOX application provides connectivity, control and/or communication relative to one or more devices. The MOX application can be operated based on communication with a network and/or pear-to-pear communication among devices. The MOX application may operate within a network or system that is an ecosystem or MOX ecosystem. The MOX application may be deployed on one or more devices, entities or spaces that make up a MOX ecosystem.

According to one embodiment, the MOX system is an application that runs on a mobile device. According to another embodiment, MOX provides a unique user interface with many features. Features of the MOX application can be characterized as user interface (e.g., user experience) features and architectural features. The MOX system incorporates cards. Cards are displayed as visual elements in the user interface that can be manipulated to provide exchange of data, capabilities, and allow for device control. Card elements may be configured as containers.

As used herein, an entity relates to elements that that are recognized and that make up an ecosystem of the application. An entity may relate to a device, space, and users of an application. An ecosystem relates to collections of entities that are associated.

Spaces relate to real and virtual locations that are recognized by the application. By way of example, a space may be assigned to one or more of a room, building, floor, home, office or other physical location (e.g., café, office, etc.). Spaces may also be assigned to virtual locations that do not have a corresponding physical location.

A device can relate to devices configured to execute and run a MOX application. A device can also relate to non-MOX devices. Devices may refer to real and virtual devices.

Architectural aspects of the MOX application relate to the card configuration, platform for operating with mobile device OS, and underlying processes for card exchange functionality.

One embodiment is directed to processes for presentation of a user interface and a device configured to present a user interface, such as MOX, with cards.

Another embodiment is directed to an application platform, processes and devices for operating within a MOX platform. MOX may provide a common UI for multiplatform devices, such as a single unified way to control or know even though devices are not connected. The MOX architecture may include one or more of the following attributes: use of cards as containers, defined card architecture, card based metadata (Json Metadata). MOX may allow for spaces and provide a visual of all spaces based on connection. MOX may include a prioritization algorithm based on proximity, known/history, places with access, etc. MOX may allow for a search of virtual spaces. MOX may be configured with a MOX stack and MOX plugin, and security features. MOX may allow the same card to provide different actions on different devices. May be configured to publish card into any device (virtual or real).

MOX may operate based on independently defined APIs, which are available via a RESTful interface (similar to the cloud interface). The APIs may be defined by an OEM to support the device.

In certain embodiments, a MOX card itself is an HTML object, containing relevant resources related to color pallet, and branding, as well as the interactive components. Both the front and the back of the card are supplied by the device itself, and are validated by the cloud.

As used herein, the terms “a” or “an” shall mean one or more than one. The term “plurality” shall mean two or more than two. The term “another” is defined as a second or more. The terms “including” and/or “having” are open ended (e.g., comprising). The term “or” as used herein is to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.

Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner on one or more embodiments without limitation.

EXEMPLARY EMBODIMENTS

Referring now to the figures, FIG. 1A depicts a graphical representation of a simplified system diagram according to one or more embodiments. System 100 may be configured for presentation of an application by device 105. By way of example, system 100 includes one or more devices that may be configured with similar core elements to allow for an application to reside on one or more devices for connectivity, communication, exchange and/or control relative to the devices. Based on the application, device 105 may communicate and interoperate with one or more other devices, such as devices 110 _(1-n). According to another embodiment, device 105 may communicate and interoperate with one or more other devices, such as devices 120 _(1-n) by way of a communication network 115. System 100 may be configured to allow for control and communication by device 105 with one or more of devices 110 _(1-n).

Device 105 may be configured to execute an application, such as a MOX application providing one or more functions, including but not limited to viewing of cards associated with the user device, viewing other devices and cards associated with other devices, exchange of cards between the user device-exchange may be based on one or more of push/fling, pull and exchange of cards and contextual presentation of cards. The user interface may be configured to detect user commands of device 105 for assignment of cards to another device, such as devices 110 _(1-n) and/or 120 _(1-n).

According to one embodiment, device 105 is configured to run an application (e.g., a MOX application) configured to present a user interface. Device 105 includes memory and hardware configured to store and execute and application, such as a MOX application and to operate with one or more card elements. The MOX application may run across multiple devices of system 100, including multiple device types and across multiple device operating platforms.

According to one embodiment, devices 110 _(1-n) relate to one or more devices in close proximity to device 105. Device 105 may be configured to communicate wirelessly with the devices 110 _(1-n) by way of the MOX application. Devices 110 _(1-n) relate to devices associated with a particular space and/or ecosystem. Accordingly, a user interface may identify and/or include graphical elements for devices 110 _(1-n) and for card elements of devices 110 _(1-n). Devices 120 _(1-n) relate to devices which may be communicated with over communication network 115 via the user interface of the MOX application. Devices 120 _(1-n) may relate to devices in close proximity or distances from device 105. Devices 120 _(1-n) may relate to electronic devices. In some embodiments, devices 120 _(1-n) include one or more servers.

Device 105 may run a MOX application that allows for detection of user input/touch command of a graphical element and movement from one section of the display to another section where the graphical element is a card element, and how the system processes the movement (exchange, interact, control, etc.). Movement of cards within the user interface call allow for assignment of a card to a device.

The MOX application can allow for one or more of card presentation, association of cards and entities (e.g., devices, virtual devices), transition of card and/or entities with respect to user actions or spaces, display of cards based on capability matching, selection of which cards to display, user and device avatars, a summary view and detailed view of card, and card comments.

Device 105 may present/provide a user interface and MOX application to allow for hanging cards on devices, controlling devices using cards, borrowing services (e.g., Wi-Fi) using cards, capability sharing (e.g., sharing control of a device), and one or more features built around sharing cards. Device 105 may detect user input/touch commands of a graphical element and movement from one section of the display to another section where the graphical element is a card element. The MOX application processes movement of cards (exchange, interact, control, etc.).

Device 105 includes a display configured to present a user interface and a controller coupled to the display. The controller is configured to present a user interface. An exemplary representation of a user interface is depicted in FIG. 3 according to one or more embodiments. The user interface is presented including graphical elements for one or more card elements, graphical elements for one or more spaces and devices, such as devices 110 _(1-n) and devices 120 _(1-n).

Architectural aspects of the MOX application can include providing card configurations, providing a platform for operating with mobile device operating systems (OS), and underlying processes for card exchange functionality within the MOX application.

Device 105 may be a mobile device or tablet executing an application, such as the MOX application executed by device 105. Although FIG. 1 depicts one device 105, it should be appreciated that system 100 and the application may allow for multiple devices to communicate and interoperate.

System 100 may include a server, wherein one or more of devices 120 _(1-n) may relate to servers. Device 105 may be configured to communicate with the server of system 100. The device 105 includes a display configured to present a user interface. Device 105 can include a controller coupled to the display. According to one embodiment a controller of device 105 is configured to present a user interface for an application, wherein the user interface is presented including graphical elements for one or more card elements, and wherein the user interface is presented including a display area for the device. The controller can detect a user interface command to move a selected card element presented by the user interface relative to the display area and update presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command. The controller can update the application to include data for the new card element based on the user interface command such that the data associates the new card with an entity recognized by the application.

FIG. 1B depicts a graphical representation of system entities according to one or more embodiments. According to one or more embodiments, an application or electronic platform is provided for communication, control and exchange based on one or more associations. FIG. 1B depicts a graphical representation of application entities for a MOX application system. A MOX system 150 can include a plurality of devices, such as device 155. System 150 depicts an exemplary representation of entities that can make up ecosystem of the application with respect to device 155. Device 155 may relate to a representation of device 105 of FIG. 1A.

Each device in system 150 can be associated with one or more ecosystems. Device 155 is associated with ecosystem 160. Within a MOX system, each device may be associated with different ecosystems. Ecosystems may be particular to a particular device or user. Ecosystem includes a plurality of spaces 165 _(1-n). According to one embodiment, each of spaces 165 _(1-n) may be associated with device 155 by user selection, location of device 155 and/or by system 150. A user interface of device 150 may display graphical elements associated with one or more of spaces 165 _(1-n) based on the location and/or operation of the device. Spaces 165 _(1-n) may be real or virtual locations. By way of example, spaces 165 _(1-n) may be assigned to one or more of a room, building, floor, home, office or other physical location (e.g., café, office, etc.). Spaces 165 _(1-n) may also be assigned to virtual locations that do not have a corresponding physical location. Each of spaces 165 _(1-n) may be associated with one or more devices, such as device 155 for a user. Based the selection of a space or location of device 155, the user interface may present one or graphical elements for each space. In addition, device 155 may be configured to assign one or more cards to a device.

Card elements 156 are HTML objects, containing relevant resources related to color pallet, and branding, as well as the interactive components. Both the front and the back of the card are supplied by the device itself, and are validated by the cloud.

Each of spaces 165 _(1-n) may include and/or be associated with a plurality of entities 170, spaces 175, devices 180, and cards 185. Entities 170 associated with a space, such as space 165 ₁, can include MOX and non-MOX enabled devices, users, etc. Spaces 175 associated with a space, such as space 165 ₁, can include one or more spaces associated based on location, card selection, user preferences/selections, etc. Devices 180 associated with a space, such as space 165 ₁, can include MOX and non-MOX enabled devices, devices based on location, device assigned to a space etc. Cards 185 associated with a space, such as space 165 ₁, can include one or more card elements associated by a user to a space, such as cards 156 or cards that may be available while within a space.

Ecosystem 190 may be another ecosystem that is not assigned to device 155. Device 155 may be configured to join or gain access to ecosystem 190 using a MOX application.

FIGS. 2A-2B depict processes for assigning card elements of an application user interface to a device according to one or more embodiments. FIG. 2A depicts process 200 for presentation of a user interface according to one or more embodiments. Process 200 may be employed to for assigning card elements of an application user interface to a device or devices. Process 200 may be performed by a device such as device 105 of FIG. 1A. Process 200 may be configured to present a user interface at block 205. The user interface presented at block 205 may be associated with a MOX application. The user interface may be presented at block 205 including graphical elements for one or more card elements, graphical elements for one or more spaces, and graphical elements for one or more devices. In one embodiment, the user interface includes graphical elements for one or more devices in one portion of the user interface and the graphical elements for one or more card elements in a second portion of the user interface. For example, the devices may be icons or graphical elements presented in a top portion of the user interface. Each card element includes graphical display elements in the user interface configured to be manipulated within the user interface to allow for at least one of exchange of data, capabilities, and device control.

At block 210, an interface command is detected. The detected interface command may be to associate a selected card element presented by the user interface with a selected device presented by the user interface. In certain embodiments, the user interface command includes selection (e.g., tap, tactile, other, etc.) and movement of a graphical element for the selected card from a first position (e.g., the displayed position) in user interface to a second position associated with display of the selected device. The selected device may refer to physical or virtual locations.

At block 215, the application outputs a communication based on the detected interface command. According to one embodiment, outputting a communication includes the association of the selected card element with the selected device. Based on the association of the selected card with the selected device, metadata for the card element may be updated. Association may include transmission of card element metadata to the device. In one embodiment, updating metadata includes storing a unique identifier of the device with the card element metadata.

In one embodiment, assignment of the selected card element to the selected device may be based on a determination that the card element can be assigned to the device. For example, the application can determine whether the assignment conforms to at least one of capabilities of the device and card element constraints. The card application may determine that a card element cannot be assigned to a device and in response may display one or more elements to indicate that the assignment cannot be made. Following the output communication at block 215, user interface can continue to display the selected card element in the user interface following assignment to the selected device.

In one embodiment, process allows for exchange of data associated with the card to be provided to a device. The MOX application may be configured to allow for the data to be usable by one or other MOX devices. In this fashion, conventional methods of electronically sending that require end user addresses (e.g., email) are not required. Similarly, assignment does not require configuration, downloading, decompressing, or other steps for the card to be useable once assigned. Rather, card assignment allows for the card element to appear within the user interface when the device to which the card is assigned is selected. In addition, one or more properties of the card element may be usable by the device to which the card is assigned.

FIG. 2B depicts a process for operation of a device (e.g., device 105) according to one or more embodiments. Process 250 may be configured to run an application (e.g., a MOX application) to determine card elements for display at block 255. At block 260, the application presents a user interface with graphical card elements associated with a MOX application. In one embodiment, the user interface is presented at block 260 including graphical elements for one or more card elements and a display area for the device.

At block 265, the application can a user interface command to move a selected card element presented by the user interface relative to a display area associated with a device. The a user interface command may be detected at block 265 to move a selected card element presented by the user interface relative to the display area.

Process 250 may continue with the application performing updates at block 270. In one embodiment, updating at block 270 includes updating presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command. In one embodiment, updating at block 270 includes updating the application to include data for the new card element based on the user interface command, such that the data associates the new card with an entity recognized by the application. Outputting, by the device, a communication including an association of the selected card element with the selected device, wherein the association of the selected card with the selected device includes updating metadata for the card element. Updating presentation of the user interface at block 270 can include displaying a graphical element of the selected card in a display area corresponding to the control command, wherein the user interface includes a representation of the selected card element in a source and destination associated with the control command. Updating application data at block 270 can include registering metadata for the user interface command to move the selected card element, wherein registration of metadata is accessible to other devices by the application.

Process 250 may optionally include determining the capability matching of the card element and the device at block 270. Determining capability matching of the selected card element with a destination associated with a control command mover may be performed prior to updating presentation of the user interface.

FIGS. 3A-3B depict graphical representations of a user interface according to one or more embodiments. The user interface may be displayed on a user device 305. The user device 305 can be a cellular phone, an electronic tablet, an e-reader, a laptop computer, or any other device with control capabilities and a connection to a communication network. The user interface 300 is presented including graphical elements for one or more card elements including graphical elements for one or more spaces. Features of user interface 300 allow for one or more of viewing of cards associated with the user device, viewing other devices and cards associated with other entities (e.g., other devices, spaces), and exchange of cards between the user device and other devices. Exchange may be based on one or more of push/fling, pull and exchange of cards. The user interface also allows for contextual presentation of cards.

In one embodiment, user interface 300 may provide card interaction by way of an exchange view. A MOX application may provide processes and device for exchange of a card via a user interface (MOX). User interface features and processes for showing cards include a detailed view and summary view when selected, capability matching, communication of device features, devices indicating that services and capabilities are available, and associating content with any device so that content appears to reside on the device.

In one embodiment, MOX may provide card interaction including a push operation. The push operation may include one or more of a fling gesture of card, a profile card, settings card, cards in general, etc., hanging a card, capabilities (network access, temporary control of a device, guest features, etc.) capability matching, appearance of card transition.

In one embodiment, MOX may provide card interaction including a pull operation. The pull operation may include one or more of pulling a device card, borrowing capabilities, capability matching, pulling settings vs. pulling an app., pulling a card off of a device, appearance of card transition.

In one embodiment, MOX may provide card interaction including Assigning/associating cards to devices (virtual or connected). The operation may include one or more of a device that is connected or not is presented in the MOX UI and connection to the device (whether virtual or actual) based on card, processes for identification based on scanning, and searching for non-connected and connected devices, associating devices (connected or not with spaces), and creating a virtual equivalent.

In one embodiment, MOX may provide card interaction including Assigning cards to Space/Card Hanging. The operation may include one or more of processes and device where a card may be assigned to a space, including acts for flinging, pushing or hanging card to a space, presentation of the card on other devices, presenting cards based on a space that a device is in, card presentation based on geolocation.

One embodiment is directed to detection of user input/touch command of a graphical element and movement from one section of the display to another section where the graphical element is a card element. The MOX application processes movement of cards (exchange, interact, control, etc.). The application allows for description of card presentation, description of cards and entities (e.g., devices, virtual devices) in user interface, transition of card and/or entities with respect to user actions or spaces, display of cards based on capability matching, selection of which cards to display, user and device avatars, design summary view and detailed view of card, and card comments.

User interface features allow the MOX application to provide functions including hanging cards on devices, controlling devices using cards, borrowing services (e.g., Wi-Fi) using cards, capability sharing (e.g., sharing control of a device), and one or more features built around sharing cards.

In FIG. 3A, user interface 300 of the user device 305 has a number of individual features, such as a user row 333 and device row 331. According to one embodiment, user row 333 may relate to a display area for the device 305 and device row 331 may relate to display area for one or more other devices. In that fashion, card elements in user row 333 may relate to card elements associated with device 305. Card elements in device row 331 may relate to card elements associated with one or more other devices.

The user interface also presents an entity list 325. The entity list includes a listing of a plurality of devices or spaces, shown as 310 ₁, 310 ₂, 310 _(n), 330, 320 ₁, 320 ₂, and 320 _(n). In this embodiment, there is no limit to the number of entities in the entity list 325. Some of the entities 310 ₁, 310 ₂, 310 _(n), are connected directly with the user device 305. Some of the entities 320 ₁, 320 ₂, and 320 _(n), are connected to the user device 305 by a communication network. The communication network can be a local network or a more global network, such as the Internet.

The user interface of the user device 305 also presents a plurality of user card elements 334 which are stored on the user row 333. These user card elements 334 are associated with the user device 305. Likewise, the user interface of the user device 305 presents a plurality of device card elements 332 which are stored on the device row 331. These device card elements 332 are associated with a selected third-party device 330. The selected third-party device is one of the plurality of third-party devices which are listed on the entity list 325. The user has the ability to select any third-party device, 310 ₁, 310 ₂, 310 _(n), 330, 320 ₁, 320 ₂, and 320 _(n), and upon selection, the user's choice will become the selected third-party device 330. Once the user has made a choice for the selected third-party device 330, the device row 331 will automatically update such that the device row 331 displays the plurality of device card elements 332 associated with the selected third-party device 330.

According to one embodiment, user interface 300 is presented including graphical elements 334 for one or more card elements in a first portion (e.g., row 333) and graphical elements for one or more devices 310 _(1-n) and 320 _(1-n). User inputs (e.g., contact, touch, selection, etc.) may be detected by device 305 as a user interface command to associate a selected card element presented by the user interface with a selected device presented by the user interface 300. FIG. 3A depicts a selected card 336 in a first portion of the user interface. In certain embodiments, the user selection may be a tap, hold and drag to a second portion of the user interface, such as device row 331. The second portion of the user interface may also relate to a tap, hold, and drag to a device (e.g., one or more devices 310 _(1-n) and 320 _(1-n)). Following the assignment of the card to a device, user interface 300 may update the presentation format.

FIG. 3B depicts a selected card 336 in a portion of the user interface following card assignment to a device according to an exemplary embodiment. According to one embodiment, selected card element may be assigned to another device, and thus, the application will present a graphical element for the selected card element 336 in row 331. In certain embodiments, assignment of a card element to a device copies the card element to the device, such that a graphical element, such as 337, is still provided in row 333 of the user interface. In other embodiments, assignment of for the selected card element 336 will transfer the selected card element to the device for which graphical elements in row 331 are presented. In such a case, user interface will present graphical element 337 in row 333 which relates to a different card element from selected card element 336. Device 305 may output a communication including an association of the selected card element 336 with the selected device, wherein the association of the selected card with the selected device includes updating metadata for the card element.

FIG. 4A depicts a graphical representation of card interaction within a user interface according to one or more embodiments. The user interface is displayed on the user device 405. The user interface presents a user row 433 and a device row 431. The user interface also presents an entity list 425. The entity list includes a listing of a plurality of devices/spaces 410 _(1-n), 430, 420 _(1-n). In this embodiment, there is no limit to the number of entities in the entity list 425. Some of the entities 410 _(1-n), are connected directly with the user device 405. Some of the entities 420 _(1-n), are connected to the user device 405 by a communication network. The communication network can be a local network or a more global network, such as the Internet.

The user has the ability to select any entity 410 ₁, 410 ₂, 410 _(n), 430, and 420 _(1-n), and upon selection, the user's choice will become the selected entity 430. Once the user has made a choice for the entity 430, the device row 431 will automatically update such that the device row 431 displays the plurality of card elements associated with the selected entity 430.

The user device 405 allows for the user to send a selected card element 435 from the user row 433 to the entity 431. The user does this through a control command 436 detected by the user interface. The control command 436 can be one continuous swipe, flick, fling, or similar gesture. In one embodiment, control command 436 relates to at least one of a touch, drag, fling and tactile command within the user interface. Alternatively, the control command 436 can be a plurality of tapping motions.

According to one embodiment, FIG. 4A depicts control command 436 as push command. In one embodiment, user interface command 436 is push command to push the selected card from the display area (user row 433) associated with the device 405 to a display area of the user interface associated with a second device (e.g., entity 431). The push command can associate a new instance of card 435 with a second device or entity for a period of time.

FIG. 4B depicts card interaction within the secondary user interface according to one or more embodiments. The secondary user interface is displayed on the secondary user device 405. The secondary user interface presents a user row 433 and a device row 431. The secondary user interface also presents an entity list 425. The entity list includes a listing of a plurality of entities 410 _(1-n), 430, and 420 _(1-n). In this embodiment, there is no limit to the number of entities listed in the entity list 425. Some of the entities 410 _(1-n), are connected directly with the secondary user device 405. Some of the entities 420 _(1-n), are connected to the secondary user device 405 by a communication network. The communication network can be a local network or a more global network, such as the Internet.

The secondary user has the ability to select any entity 410 _(1-n), 430, 420 _(1-n), and upon selection, the secondary user's choice will become the selected third-party device 430. Once the user has made a choice for the selected third-party device 430, the device row 431 will automatically update such that the device row 431 displays the plurality of device card elements associated with the selected third-party device 430.

The secondary user device 405 allows for the secondary user to receive a selected card element 435 from the device row 431 to the user row 433. The user does this through a control command 436. The control command 436 can be one continuous swipe, flick, fling, or similar gesture. Alternatively, the control command 436 can be a plurality of tapping motions.

According to one embodiment, FIG. 4B depicts control command 436 as pull command. In one embodiment, user interface command 436 is pull command to pull the selected card from a display area of the user interface associated with a second device (e.g., entity 431) to the display area (user row 433) associated with the device 405. The pull command can associate a new instance of card 435 for device 405 for a period of time.

Referring to FIGS. 4A and 4B, and as previously discussed, a user on a user device 405 can send a selected card element 435 from the user row 433 to the device row 431. The device row 431 displays the device card elements associated with the selected third-party device 430A. By sending the selected card element 435 to the device row 431, the selected card element 435A becomes associated with the selected third-party device 430. When a secondary user on a secondary user device 405 chooses a selected third-party device 430 from the entity list 425, that secondary user is able to see all the device card elements associated with the selected third-party device 430. These device card elements are displayed on the device row 431 of the secondary user device 405.

Therefore, if a user has sent a selected card element 435 to the device row 431 of a selected third-party device 430, and the secondary user has selected the same third-party device 430, such that 430 and 430 are the same third-party device, the secondary user is able to send the selected card element 435 from the device row 431 to the user row 433, such that the secondary user is able to view the selected card element 435 on the user row 433 of the secondary user device 405.

FIG. 5 depicts a graphical representation of card control relative to devices according to one or more embodiments. According to one embodiment, card elements may be exchanged relative to devices by way of an application, such as MOX application. FIG. 5 represents a MOX application operating across devices. System 500 includes native application 505 and MOX application 510 associated with a first device, and native application 506 and MOX application 525 associated with a second device. Control commands as used herein may relate to commands within a MOX application 510 and/or MOX application 525.

According to one embodiment, a first device may be configured to execute native application 505 and MOX application 510. MOX application 510 may be configured to present card elements 515. A second device may be executing native application 506 and MOX application 525. MOX application 525 may be configured to present card elements 535. The MOX applications may be interoperated with different native platforms, such that native application 505 and native application 506 relate to different operating platforms. Control commands detected within the user interface can result in exchange of card elements relative to MOX application 510 and MOX application 525. In one embodiment, a control command can result in pulling card element 520 from MOX application 525 to MOX application 510 such that card 521 represents the pulled card. In another embodiment, a card may be pushed to another device. In one embodiment, a control command can result in pushing card element 540 from MOX application 510 to MOX application 525 such that card 540 represents the pushed card. Cards exchanged relative to the MOX applications 510 and 525 may be employed by native applications 505 and 506 respectively.

FIGS. 6A-6D depict graphical representations of card control inputs according to one or more embodiments. According to one embodiment, control commands within a user interface of a MOX application may relate to touch and/or gesture commands. FIG. 6A depicts an exemplary representation of a push command 610 relative to card element 605. In one embodiment, the push command 610 includes contact and/or selection of card element 605 with motion in a vertical direction. The direction of push command 610 may be associated with pushing card element 605 in a direction away from a user device toward a section or portion of a user interface the card is displayed to another portion of the user interface associated with another device or entity recognized by the application. Card element 605 may relate to a card element already associated with a user's device. In other embodiments, card element 605 may relate to a card element already associated with the device display the user interface. In yet another embodiment, card element 605 may relate to a card element associated with a selected device under the control and/or associated with the current display of the user interface.

FIG. 6B depicts an exemplary representation of a pull command 620 relative to card element 615. In one embodiment, the pull command 620 includes contact and/or selection of card element 615 with motion in a vertical direction. The direction of pull command 620 may be associated with pulling card element 615 in a direction toward a user device, section or portion of a user interface from where the card is displayed to another portion of the user interface. Card element 615 may be pulled away from another device or entity recognized by the application. Card element 615 may relate to a card element already associated with a user's device. In other embodiments, card element 615 may relate to a card element associated with another device displayed by the user interface. In yet another embodiment, card element 615 may relate to a card element associated with a selected device under the control and/or associated with the current display of the user interface.

FIG. 6C depicts an exemplary representation of a borrow command 630 relative to card element 625. In one embodiment, the borrow command 630 includes contact and/or selection of card element 625 with motion in a vertical direction. Similar to pull command 620, the direction of borrow command 630 may be associated with pulling card element 625 in a direction toward a user device. In certain embodiments the borrow command 630 may be pushed or pulled. A borrow command 630 may relate to a temporary use of a card, such that use of a borrowed card, such as card 625 may expire at a predetermined time. Borrow command 630 as a control command may be useful for loaning access to a network, use of a device, lending control of a device or other card element associated with a particular device's location or ecosystem.

FIG. 6D depicts an exemplary representation of tap command 640 relative to card element 635. In certain embodiments a tap command may relate to contact of a selected card for a predetermined period of time. Tap command 640 can be used to open a navigation menu or mark a card. In an exemplary embodiment, certain cards may be marked as public or private based on tap command 640.

FIG. 7 depicts a graphical representation of card control relative to devices according to one or more embodiments. FIG. 7 depicts an exemplary process for a control command to activate a transfer of a card from one device to a second device, wherein the transfer can relate to assignment of a particular card from a first device 705 to a second device 710. In other embodiments, transfer can relate to creating another instance of a card such that the first device 705 to a second device 710 each are associated with a card element following the transfer. According to one embodiment first device 705 may be characterized as including an application user interface 715, application framework 720 and application core 725. Second device 710 may be characterized as including an application user interface 716, application framework 721 and application core 726. Application user interface 715 and 716 relate to elements of a user interface and include card elements 730, devices 735 and events 740 for application user interface 715 and card elements 731, devices 736 and events 741 for application user interface 716.

Application framework 720 and 721 relate to elements or process blocks performed by the application (e.g., MOX application) to present a user interface and include card manager 745, device manager 750 and event manager 755 for application framework 720 and include card manager 746, device manager 751 and event manager 756 for application framework 721. Application framework 720 provides a MOX service 760 to allow for card elements and functions to be exchanged and/or performed across one or more devices. MOX service 760 can communicate with media storage 765 to provide access to media 770 associated with device 705. MOX service 760 includes capability registry 775 and intent handler 780. MOX service 760 interfaces with application core 725 which include bus service 785 for communication with other MOX enabled devices. Similarly, for device 710, Application framework 721 provides a MOX service 761 to allow for card elements and functions to be exchanged and/or performed across one or more devices. MOX service 761 can communicate with media storage 766 to provide access to media 771 associated with device 706. MOX service 761 includes capability registry 776 and intent handler 781. MOX service 761 interfaces with application core 726 which include bus service 786 for communication with other MOX enabled devices.

According to one or more embodiments, a push command between devices 705 and 710 may be detected and/or initiated relative to display of a user interface. FIG. 7 depicts a control command entered to device 705. Card manager 745 obtains the selected card, such as card 730, and in concert with MOX service 760, can determine that a transferable card representation is completely captures as metadata, such as in a JSON format. MOX service 760 employing capability registry 775 can translate local metadata references to references which can be used to access local cache (e.g., fetch) from remote devices. For example, in the case of an image content card, URLs for both the thumbnail and content image may be stored as local references to a platform media store 765 on device 705. These references may be replaced with qualified remote URLs capable of accessing the image content via an HTTP server running in application core 725. To leverage the flexibility of bus service 785, an intermediate reference based on the source devices universal identifier (UID) can be provided and then mapped to the registered communication method in bus service 785. Card content may be sent via bus 787 to bus service 786 of device 710 where the provide UID is used to dispatch the card to its intended receiver via a registered transport mechanism. The actual transport of the card packet via specific transport mechanism (e.g., pushing a card, HTTP POST request with the card contents encapsulated by the request entity).

Bus service 786 on the receiving end (e.g., device 710) picks up the card and parcels it up to MOX service 761 as a notification of card exchange receipt. In certain embodiments, a stub of the transferred card could be presented or displayed by the user interface of device 710 to indicate that an exchange is in progress with the full content of the card not displayed until one or more fetch operations are completed. MOX service 761 may be responsible for making sure that any card metadata which is represented as remote references are resolved via the appropriate capability registry 776. Fetched content may be passed up to card manager 746 to be reconciled with previously received card metadata.

MOX service 761 using capability registry 776 takes care of the remote references which are used to fetch content and replaces the references with local references. For each cad type, thumbnail and content images or data for example, could be cached in media store 766 and the local references would recognize the new location. MOX service 761 notifies card manager 746 that a card has been received and is now available. Card manager 746 manifests the card in the user interface of device 710 based on metadata provided.

In certain embodiments, fetching operations discussed in FIG. 7 may be replaced with a self contained card model, wherein cards each include all content with a card object in addition to metadata for the card. As such, card content may be encoded to allow parceling inline with the card data using JSON data. As such, self contained cards can eliminate the need to translate URI's from local to remote and back to local.

Although FIG. 7 is described with reference to a push command, it should be appreciated that a pull command may be provided in a similar fashion. According to one embodiment, pulling a card from second device 710 to first device 705, or vice versa, can be provided by the MOX application. According to one embodiment, card data for elements displayed by the user interface may be fetched as a precondition of a pull command. Card managers of device 705 and 710 may determine if the pull command is a copy or move for the pull operation. The pull operation may operate substantially similar to a push, with the addition of an intention provided by the pulling device to the second device. In the instance device 710 is the pulling device, device 705 will receive the intention and determine if the desired copy or move is permitted. Once the intent of the control command for the pull of a card is approved by device 705, card data will be provided to card 710.

FIG. 8 depicts a process for updating a card element according to one or more embodiments. Process 800 may be employed for control of a card from a first device 805 to a second device 810. Process 800 is associated with operations executed by a device and performed by an application, such as a MOX application, run by the device for displaying the user interface and interaction with one or more other devices. According to one embodiment, first device 805 to a second device 810 each include an exchange presenter component 815, card manager component 820, MOX service component 825 and MOX core component 830. According to one embodiment, process 800 includes exchange presenter component 815 receiving a control command (e.g., push or pull) and providing the control command 835 to card manager 820. Card manager 820 bundles card data with JSON metadata and broadcasts communication intent 840 to MOX service 825. MOS service 825 may parcel card data into communications 845 to MOX core 830 which controls transfer across a bus component to a MOX core of another device, such as device 810. MOX core 830 of the second device transmits parcels 850 to MOX service 825 of the second device. According to one embodiment, MOX service 825 provides parcels 865 to share capability service 860 to determine capability of card with device 810. Based on compatibility, card content 870 is provided to device 810, or is at least accessible for display.

FIG. 9 depicts a simplified diagram of a device according to one or more embodiments. Device 900 may relate to one or more devices for providing an application, such as a MOX application. According to another embodiment, device 900 may relate to one or more devices configured to run a MOX core. In one embodiment, device 900 relates to a device including a display, such as a TV, mobile device, or device having a display in general. According to another embodiment, device 900 may be devices, such as a set-top box, configured to output content to a display device. According to another embodiment, device 900 may be devices without a display. As shown in FIG. 9, device 900 includes controller 905, graphical user interface 910, communications unit 915 and memory 920.

Controller 905 may be configured to execute code stored in memory 920 for operation of device 900 including presentation of a graphical user interface. Controller 905 may include a processor and/or one or more processing elements. In one embodiment controller 905 may be include one or more of hardware, software, firmware and/or processing components in general. According to one embodiment, controller 905 may be configured to perform one or more processes described herein. Graphical user interface 910 may be configured to receive one or more commands via an input/output (I/O) interface 925 which may include one or more inputs or terminals to receive user commands. When device 900 relates to a TV, I/O interface 925 may receive one or more remote control commands.

Controller 905 may be configured to run a MOX application, the MOX application including one or more card elements, restful APIs, a MOX core and a MOX configuration. Controller 900 may be configured for exchange of card elements within an application user interface presented by device 900.

Communications unit 915 may be configured for wired and/or wireless communication with one or more network elements, such as servers. Memory 920 may include non-transitory RAM and/or ROM memory for storing executable instructions, operating instructions and content for display.

While this disclosure has been particularly shown and described with references to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the claimed embodiments. 

What is claimed is:
 1. A method for control of card elements within an application user interface, the method comprising: presenting, by a device, a user interface for an application, wherein the user interface is presented including graphical elements for one or more card elements, and wherein the user interface is presented including a display area for the device; detecting, by the device, a user interface command to move a selected card element presented by the user interface relative to the display area; updating, by the device, presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command; and updating, by the device, the application to include data for the new card element based on the user interface command, the data associates the new card with an entity recognized by the application.
 2. The method of claim 1, wherein the user interface includes a display area for one or more other devices.
 3. The method of claim 1, wherein the user interface command is at least one of a touch, drag, fling and tactile command within the user interface.
 4. The method of claim 1, wherein the user interface command is push command to push the selected card from the display area associated with the device to a display area of the user interface associated with a second device.
 5. The method of claim 4, wherein the push command associates a new instance of the card with the second device for a period of time.
 6. The method of claim 1, wherein the user interface command is pull command to pull the selected card from a display area of the user interface associated with a second device to the display area associated with the device.
 7. The method of claim 6, wherein the pull command associates a new instance of the card with the device for a period of time.
 8. The method of claim 1, wherein updating presentation of the user interface includes displaying a graphical element of the selected card in a display area corresponding to the control command, wherein the user interface includes a representation of the selected card element in a source and destination associated with the control command.
 9. The method of claim 1, wherein updating application data includes registering metadata for the user interface command to move the selected card element, wherein registration of metadata is accessible to other devices by the application.
 10. The method of claim 1, further comprising determining capability matching of the selected card element with a destination associated with the move in the user interface prior to updating presentation of the user interface.
 11. A device comprising: a display configured to present a user interface; and a controller coupled to the display wherein the controller is configured to present a user interface for an application, wherein the user interface is presented including graphical elements for one or more card elements, and wherein the user interface is presented including a display area for the device, detect a user interface command to move a selected card element presented by the user interface relative to the display area update presentation of the user interface based on the user interface command, wherein a graphical element including a new card element display is presented in response to the user interface command, and update the application to include data for the new card element based on the user interface command, the data associates the new card with an entity recognized by the application.
 12. The device of claim 11, wherein the user interface includes a display area for one or more other devices.
 13. The device of claim 11, wherein the user interface command is at least one of a touch, drag, fling and tactile command within the user interface.
 14. The device of claim 11, wherein the user interface command is push command to push the selected card from the display area associated with the device to a display area of the user interface associated with a second device.
 15. The device of claim 14, wherein the push command associates a new instance of the card with the second device for a period of time.
 16. The device of claim 11, wherein the user interface command is pull command to pull the selected card from a display area of the user interface associated with a second device to the display area associated with the device.
 17. The device of claim 16, wherein the pull command associates a new instance of the card with the device for a period of time.
 18. The device of claim 11, wherein updating presentation of the user interface includes displaying a graphical element of the selected card in a display area corresponding to the control command, wherein the user interface includes a representation of the selected card element in a source and destination associated with the control command.
 19. The device of claim 11, wherein updating application data includes registering metadata for the user interface command to move the selected card element, wherein registration of metadata is accessible to other devices by the application.
 20. The device of claim 11, further comprising determining capability matching of the selected card element with a destination associated with the move in the user interface prior to updating presentation of the user interface. 